{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Torchvision"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## torchvision.datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(<PIL.Image.Image image mode=L size=28x28 at 0x5F11CA0>, 5)\n"
     ]
    }
   ],
   "source": [
    "import torchvision\n",
    "\n",
    "mnist_dataset = torchvision.datasets.MNIST(root='./data/',          # 数据集位置\n",
    "                                           train=True,              # True-只加载训练数据；False-只加载测试数据集\n",
    "                                           transform=None,          # 对图像进行预处理操作\n",
    "                                           target_transform=None,   # 对图像标签进行预处理操作\n",
    "                                           download=True)           # 是否下载\n",
    "mnist_dataset_list = list(mnist_dataset)\n",
    "print(mnist_dataset_list[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/wAALCAAcABwBAREA/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/9oACAEBAAA/APn+trwt4W1TxfrcOl6VDvlc5eRvuRL3Zj2A/wD1V0Xj74YXvgeKG5S+TU7NmMU00MRUW8oCnY/JAzu455x0FcHVnTrC51XUrbT7OMyXNzKsUaDuxOBXrmveMYfhfpk/gfwsG/tCJ1e/1TOC8pwWVR2GMLnIxg9+aboGsX/jvwD8SLrX7tpXjitrqPaAio6iTGAOMHYo98eteOV0ngC8t7D4gaDd3cyQ28V5G0kjnCqM9SfSvRvFXwjgttb1LxDr/i6xs9Hup3uY5QpeaYMxbaqjAJwe2fpXDeJ/Fdk+nHw34Whez8PKweTzADNeSA/6yRuuPReAPT046iiiiv/Z",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAAAAABXZoBIAAABDklEQVR4AWNgGHhgPP/vfCMczjB49+fPn7fYJc0e//3z/uUfSzZMaS6bB3/+/jkV8udvFUSSCUnNzAMyQJ4Rz0EGXQxJY29GxkOljC/OT2JiRNICZoLcspnHu1KUgeHvZzQHqy39+/JCCETH3z9LUbSyb/rzwV0YZCcQ/P1zGMKAkpZ//tjDBdAlj/3dB5dj+P/3CJgD9YqPwf9NCMl//y8gOAwMoX+eScL47O1/d/HAOCA69M99GJe9+c9DdxgHTIf+mQjlGyz9sxZFioEh7O9DiEjRu7+L0OSAxv6cZCAbuunh3/vLLTAl//x5eh0Yl0ea0KUYGGSO/wHG1p+XMJtRVUg2ACV7VVEFB4IHAKxwbkRtVspVAAAAAElFTkSuQmCC",
      "text/plain": [
       "<PIL.Image.Image image mode=L size=28x28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Image label is: 0\n"
     ]
    }
   ],
   "source": [
    "display(mnist_dataset_list[1][0])       # 显示 PIL.Image.Image 类型的图像\n",
    "print(\"Image label is:\",mnist_dataset_list[1][1])   # 图像对应的标签"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## torchvision.transforms"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.数据类型转换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD36q2o38Gl6fPfXLbYYULMQMn6D3ovr+10y0e6vJ0hgTq7H9Pc+1cZ4l8WeHNb8P3Wnw6qI5JtuGe2mwMMG7L7VpTpuTWmhlUqKCeupn61418T29rb30emw2VhdYMDv+8duMjODgZHOMfyrJtviVr8LgzfZbhe6tGVP4EHiqFy8V5ZW1nc+K4pLe2GIYzaz4Xt/c549elYEiqkrqkgkUMQrgEBh64PPPvXqU6FNqzj/XzPKqV6id0/xPePDniC38R6X9rgQxOjbJYmOSjcHr3HPB//AFVsV5x8MrmG00rUHnfapuFAOM87a9AtruC6BMMgfHX1FeRXlThWdJPXt1PWoc86Sm0WKKKKRoeV/FO/kfU7HT8kRxxeeRnhmYlQfwCn/vo1wFdx8Urd08Q2twR+7ltQin1Ks2f/AEIVh+FdMt9U1dhdqWt7eFp3QHHmYIAXPYEsPwFevSqQo4b2ktkrnjVoSq4jkW7ZhFlHBYZ+tJvX+8Pzr2CO8lhQRwLDDGPuxxwoqr9Bin/2hdAg+aAexCL/AIV8++LcPf4H+B6iyCr/ADI5/wALWU9j4cLXKNG11cebGjDB2BcBsdsknH0zXRaVMYNShI6Mdh98/wD16qu7yOXdizHqWOSan09DJqNuo67wfy5/pXytfHSxePVdK12rHuUsMqGG9nvZHZ0UUV9meQY3iHw7aeI7AW10WR0bdFKn3kP9Qe4/rgjnNO8Ef8I0t3ef2h9o8yHytnk7MZdTnO4+ld3UF7b/AGqzlhBwWHB96jESqSw86UXumKFOHtY1GtUcXU6x2xQFrl1OOR5WcfrRNZXNu5WSFxjuBkfnU2nNNBdCRLR5jgjG3p75r4SlRaqclSP3p/oe/OaceaL/ACJrPSo74OYrs4U4OYsf1rW0/SY7FzIXMkhGAcYAH0p2lWb2sUjygK8r7ii9FHpWhX1GBy+jCMakoWl8zy6+InJuKegtFFFescoUUUUAGKMCiisnuMKKKK1EFFFFAH//2Q==",
      "image/png": "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",
      "text/plain": [
       "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=50x50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'PIL.JpegImagePlugin.JpegImageFile'>\n",
      "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=50x50 at 0x1A30CB50>\n"
     ]
    }
   ],
   "source": [
    "from PIL import Image\n",
    "from torchvision import transforms\n",
    "\n",
    "img = Image.open('./data/img/pylogo.jpg')\n",
    "display(img)\n",
    "print(type(img))\n",
    "print(img)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "PIL.Image 转为 Tensor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'torch.Tensor'>\n",
      "torch.Size([3, 50, 50])\n",
      "tensor([[[1.0000, 1.0000, 1.0000,  ..., 0.9961, 1.0000, 1.0000],\n",
      "         [1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         [1.0000, 0.9961, 0.9961,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         ...,\n",
      "         [0.9882, 0.9961, 1.0000,  ..., 0.9961, 1.0000, 1.0000],\n",
      "         [0.9961, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         [1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000]],\n",
      "\n",
      "        [[0.9922, 0.9922, 0.9961,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         [0.9961, 0.9961, 1.0000,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         [1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         ...,\n",
      "         [1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         [1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         [1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000]],\n",
      "\n",
      "        [[0.9569, 0.9647, 0.9843,  ..., 0.9843, 0.9922, 1.0000],\n",
      "         [0.9725, 0.9804, 0.9922,  ..., 0.9843, 0.9922, 1.0000],\n",
      "         [1.0000, 1.0000, 1.0000,  ..., 0.9804, 0.9922, 1.0000],\n",
      "         ...,\n",
      "         [0.9804, 0.9843, 0.9922,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         [0.9922, 0.9922, 1.0000,  ..., 1.0000, 1.0000, 1.0000],\n",
      "         [1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000]]])\n"
     ]
    }
   ],
   "source": [
    "tensor1 = transforms.ToTensor()(img)\n",
    "print(type(tensor1))\n",
    "print(tensor1.shape) # 3 通道，50 *50 像素\n",
    "print(tensor1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Tensor 转为 PIL.Image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'PIL.Image.Image'>\n",
      "<PIL.Image.Image image mode=RGB size=50x50 at 0x2124D9D0>\n"
     ]
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD36q2o38Gl6fPfXLbYYULMQMn6D3ovr+10y0e6vJ0hgTq7H9Pc+1cZ4l8WeHNb8P3Wnw6qI5JtuGe2mwMMG7L7VpTpuTWmhlUqKCeupn61418T29rb30emw2VhdYMDv+8duMjODgZHOMfyrJtviVr8LgzfZbhe6tGVP4EHiqFy8V5ZW1nc+K4pLe2GIYzaz4Xt/c549elYEiqkrqkgkUMQrgEBh64PPPvXqU6FNqzj/XzPKqV6id0/xPePDniC38R6X9rgQxOjbJYmOSjcHr3HPB//AFVsV5x8MrmG00rUHnfapuFAOM87a9AtruC6BMMgfHX1FeRXlThWdJPXt1PWoc86Sm0WKKKKRoeV/FO/kfU7HT8kRxxeeRnhmYlQfwCn/vo1wFdx8Urd08Q2twR+7ltQin1Ks2f/AEIVh+FdMt9U1dhdqWt7eFp3QHHmYIAXPYEsPwFevSqQo4b2ktkrnjVoSq4jkW7ZhFlHBYZ+tJvX+8Pzr2CO8lhQRwLDDGPuxxwoqr9Bin/2hdAg+aAexCL/AIV8++LcPf4H+B6iyCr/ADI5/wALWU9j4cLXKNG11cebGjDB2BcBsdsknH0zXRaVMYNShI6Mdh98/wD16qu7yOXdizHqWOSan09DJqNuo67wfy5/pXytfHSxePVdK12rHuUsMqGG9nvZHZ0UUV9meQY3iHw7aeI7AW10WR0bdFKn3kP9Qe4/rgjnNO8Ef8I0t3ef2h9o8yHytnk7MZdTnO4+ld3UF7b/AGqzlhBwWHB96jESqSw86UXumKFOHtY1GtUcXU6x2xQFrl1OOR5WcfrRNZXNu5WSFxjuBkfnU2nNNBdCRLR5jgjG3p75r4SlRaqclSP3p/oe/OaceaL/ACJrPSo74OYrs4U4OYsf1rW0/SY7FzIXMkhGAcYAH0p2lWb2sUjygK8r7ii9FHpWhX1GBy+jCMakoWl8zy6+InJuKegtFFFescoUUUUAGKMCiisnuMKKKK1EFFFFAH//2Q==",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=50x50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "img1 = transforms.ToPILImage()(tensor1)\n",
    "print(type(img1))\n",
    "print(img1)\n",
    "display(img1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.图片操作"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "调整大小"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "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",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=100x100>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 定义一个 Resize 操作\n",
    "resize_img_oper = transforms.Resize((100, 100), interpolation=2)\n",
    "\n",
    "img2 = resize_img_oper(img)\n",
    "display(img2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "裁剪"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAeAB4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDa17xlZ+IxB9u0ST9xu2eXfbfvYzn937CsOW60doHSHSLiKQqQjm+3BT2OPLGee1Ura1uL24W3tYJJpm+6kalifwrZ/wCEK8R9f7Kk/wC/sf8A8VXt2o0tG7fM8K9Wrra/yMGvY/Dur/YfDGlReRvzbK2d2O5Hp7V55H4I8QPIqyWKwITzLNMgVfc4JP5A126wxWttbWkLF4raFYVcjG/HVsdskk14HEOYRo0EqU1zX9T1cnwspVG6kdLGJ4MiWDw/PcoMTT3LRM/fYqqQv0JYn8q2sD0H5VpX+kWOi2kNtp8HkwtI0hXcWyxAGeSewFZ4IDAkbgDyPWvlc9rOrjpO+mh7uW0lTw0VYTA9BR1PWrHn24IH2NP+/j/41t2Wl2NzZxzNb4LDJAdv8a5MPgJ4iXLCSv8AP/I3qYhU1eSf4H//2Q==",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=30x30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 中心裁剪\n",
    "center_crop_oper = transforms.CenterCrop((30,30))\n",
    "display(center_crop_oper(img))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAeAB4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwBNG0O61ud0gMccUQDSzykhEB6dOST2AroP+EDg/wCg8mf+vN/8aueEF2+F2wMbr1y3vhEx/M/nWxXnZvxBicNipUaKVl3DAZTRq0FUqXuzno/AtmsgabWnkjH3khtSrEexJwPrzXRuU+RIoxFFGixxxg52qowBk+1MyPUUZBr5zH5tisdFRqvRdj18LgKGGbdNas3/ABGPktzjjLDNYSsVYMpwwOQfeu2nt4rmIxyoGU9jWU/hyEk7J3UehANejmeWVqtZ1aetzHDYqEIckihA17NZTXIvCoi/hJ5Nbums0mnwPISzMucnvVWDw/bRsGkZ5f8AZPA/KtUDAwOlduX4SrTfNV7d7/MwxFWEtIfkf//Z",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=30x30>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 随机裁剪\n",
    "random_crop_oper = transforms.RandomCrop((30,30))\n",
    "display(random_crop_oper(img))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD36q2o38Gl6fPfXLbYYULMQMn6D3ovr+10y0e6vJ0hgTq7H9Pc+1cZ4l8WeHNb8P3Wnw6qI5JtuGe2mwMMG7L7VpTpuTWmhlUqKCeuo/8At7xpfol1pug2q2cqh4vOlBcqehPzrjI5xiiuVttbvLS1itrfxrEkMShEX7FKcAdBkx5ors9i+iX3M4fb92/vRq/FW5lN1ptruPkhXk2+rcDJ+gzj6mvO6KK6sJ/CRz4r+MxaKKK6jnP/2Q==",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAC9ElEQVR4AV1Uy2pUQRCtqu6+M2MyJjHgYxHETT7AhRt/wB9wJf6BLt2504XgUnEhqJsI8Ul2QnQRYtwFDOjKiBA1EMQoiZnJndsvT92OghbD3L49XXVOnTo9nOMekRA7YqESOZVniMTWxkiVBMqZxKREIhIab52jlDinuk02+q2BTCw0P2dOzFiIb9hiAQCkJBbxkbDmjNCcgyQs2n1CMfwCbKOHIoGOuMZHMZTE7BN5Iouj/0WBLhWB1xbnDCCUc5q23dDDZ0uvV9+xB7k2G1xBChxD+2qBRm0FMIuBXGdEsks0t/jx3qOF/sSUmEpbQYBk6ROPsqMbJdA2ZCMZEd2ZW1pYXnNjE8emjwwGA3uQVhT+K7imGeKUW3lAB6qurNfPX77p9/tXLl08O9sFQavU/sVq+WMzqdyCN4HCSeTpi6Xe0ZnpQ+bMbLfbtoQJUwhJh8ySsoRYJEBm+1EKiWODx5dv29GM7e2HIgpAxftoLfBzjCodJqPypoiBoq6OOka2RumYThC74/PN+8tbgdY2PUyCEsUSKbNV3BiNUSnKDzlmK2GH3fmr89sywXkk5Ovd78Y4xdRjObbt5RiytUa3MgXtmQUuUfdSJ/3KgwH8mQ33uuODemRJ4B8umZy8MxXmG2FkxodFF4lC44ycO33qZw2b2OGw5mpcXA/TyOq8BLep67O4QWs9lAAaArhoGI1hWsU3eIVmWFv1lI4DTRrQhPvebtKtB/MbX7fYOVVNbDJmVDedTqf2TQZTaCPOWnACcMxGGCPIzi6ubly/+9hNzZDrQWWMi8SOAldVlfwQMMnaEIIDH3Tbqg0Svrbu05AuXL7RP36yoW6kTgQIgx2ZZBLGxj5xkmyxo67A7VLuCOvgg2u3n8jkCdM97BPGhtM6LJiIKRrg6GlcT7SnN5lgKTIhpgjT/4j0/sNnNza1X3trKhw1WdPKvMHQJLG4ziiIOloKztFSektfrax3J6cjiqllEPpQKf+sW0B9gbjIw//Rb12AkWIGVJpuAAAAAElFTkSuQmCC",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=20x20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1Hwh41TxFI9ncwCC9RN4CnKSKOpHoRkcH9ecdaOleL/Dx1i8WLI5wq28hJ9AAK9dg1G0uZPLimBfsCCP51rjHSo1VC9r9DDCSnVpczLlFAorI3PD/AAP/AMh+X/rzm/8AQa7VWaNg6nDKcg+4oorw+KW/rUH5fqb5H/u8vU7pTlAfUUUUV7cdkYM//9k=",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAC50lEQVR4AT1Uy25cRRCtR/edGY/tLCKhiA1EyoKPiPiQfAErkFiwYm+xYJtVIpZI7PgAsko2kSwhJQvDggC2kVFMAI8f07e7q3Lqju1Sz51+3Dp16lT1ZbeRnMjVepecncl7FcnYg3H8GQme4tdbhh2OLZHRMnHGRFJ49u6iSkylhTMmxHg78DGP1TTiiChdKK2JMmZM6qTKndwwMGFKBAzvk7PidY7l5BgP+WLv+x+e/bIiuiJq4BxHwVKFeiw2a5kCbjwxBc6Uya//1Sc//vToy8evjqjAyYMmMoEEiQHGSBCZg1TguJIn8vCEyahbvHvvIt35/OtvXr8pVSiikGVkfmsRHhYi4S9W044ozboNtNjd+fCjr/a+BX8Em8wa9RuJJs1YoEKcbgaQRDP0vWo+ptmYt5///DfkATHzDtEjQGAJngDYMLgGx65lKzbmWSrdbLZ9eLoKZ6OhpRSOgiQ3cluEBwDOoVwsZF0u5/OhlMIqLtJJDfgYiqJbrRU8WQmeOSpHod51u5DMWGwsWQdG2/Q+TDKh0MEWvLMi82ImUKr1wHBgRlT80BoY3sPVVWSRBhSIJ8YtugUYnsACPFFDMEIv3RRCWGbOyayKNjUb16VVgIYx5Ro5oCI4KIETagMRaUf0NI6jIqKQ1QZokbpEr45HpFXVlsEOQifJCyqJZjtIBhxCfTgvtzL8UTB2dx6zVKY/j/e/m/tJonPrlfPuzgef6P2HNH/QKUEs5LUxRF7DqTUfdDBKveKaUDs7WG7/k/opurKVrf8PT86Ofvv408/EzPyuTD2I2KAlDCiViM+bcpBmYR/VGzMSLsv075J+P375lOUP1YuNbIgROTmbx3vR1eAet4vBpXG0CZY983rB7/L6gP56Qb66pS3gRfCkMuRW26rF1cKNQtnmtVHFByahK3QhNLPT06N98vOQGpjXnCVkbmbsbWsAl5oJt0uhIm4ChjX0uW+jXy7e0tUJ8eX0VaD3QuV58yfpRqoAAAAASUVORK5CYII=",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=20x20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1Pxv4Vk8RWcMtoyLeWxOwOcCRTjK57HgYP1HfI5jw14Y1fRZ7651C08mJ7Xyw3mK2W3oQMAn0NepVU1OJ59PmjQZYjIHrjmlia0/qs6S6pkQoQ9vGq97nH0UHIJHcdRiivzmzPp7neUUUV+jnzZDJZ20r7pII3b1ZQTRRRWLpQb2RXM+5/9k=",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAACxklEQVR4AZ1Tv2uUQRCdmd39vsQrjBFNCNhYiIV2KljE0r/D2tpCEGzS2gm2NnbWYqWVCILaWFgoohICBjlivFy+Hzszvt0LQSxdlrvdb2feezNvl908Gw2Bnr/58uDJS52sU2o77TlZiOSuNNs71+anW7fm7+4t778WmQdxdxGLYqoxUEt048r5PNs/0YRBs7TJyNUzWW4SRzanQ/eDGLMExogiEkgkOhEFpUmg61cvHc5/pphVB2bjbNGTaNTMRGkM6bAEtuYRuE6DlFQyYmqI7t6+qfs7jc6WeEzkZOyZm7DchKZkp8RSoo+HuKEyoXGQTCeJHm3d6Xc+LXezlD1QKchG035w7xrtYp4L9cQKrWStCDDBHiNqQOUX1sKzx/c3L55bC926dGfT4enYrza2xF6qkMSQieliTOyju6EKgSQAYgLL+WgdCgUlp9B9Pvj4UH6/RQ+IMgIQF3HIocAA0J3ahZAMLXXPJapQLck4ji2jFUhE6Vb/2PrcQbjakDgT7MEGdLAHfjJYdMED24NQcAmGCZODKDqW0GnsaitzRlqZwK5FBERWqhCCGSThCNWS4J4IDKfSNSoRQgBC9bUkcgM9loAhjr0C2LPYSIAg5tpsHENm5YXtoqVbxX+AIgSbWLDYDOEReLEJuJ8+jlJU1FkC6hJpmMhHm4twLXlQsTI5NQ6uGDZwgmJIRuBiHC/qNhQ1FaxIQthy2Ljc8ZmwtKJGmvtSdCEAabl4JQoZkXKksXpXj+B/OVyllWvNxuburxCbibRx0I4zXhdi/qblsTKmAoeK4FYtKdKM9Kttv9j99sq76cok8eggASGEFeY64BbeMe5Vle6KN1i+Z6UwkE9Jf8y/v59ufwDzUHv6TzLciAtWCHBTxtXHE8JAoO4xT4mmMBLW1G/ldzGQhT4eCTkqvnxa+I8VfO4JfYFhi4z/+P0DOU1ygDnpph8AAAAASUVORK5CYII=",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=20x20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD01NOunYKkasfQSL/jVm20S6kmUTx+XGPvHcDkegxVnToIW1cy2QY26Jyxzjd6DNb9fOYHKqNRe0lfR99H+B6NfFzj7qADAxRS0V9GjzhqIkahUUKo6ADFOoopJJKyAKKKKYH/2Q==",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAC00lEQVR4AZ1Uu44cVRA99bjT0zvr8XrHizE4WBkQRloMMpYQAREBEn9BSErCd/AhpJDyA0g4QSKBzEJC2MbWzuz0fRTnzuwgkVLTj9u369SpqlM9sv3xIxFBqSkZtJWcPY0QrK/W4ziWHKoaUQNNFS/ym6tH3+D4Q8gc4s4tFegsRc2C5u5lmmDakbXyXUgLIMKqjBOWWJxB54CCp4dojVYzXCoZQ83U1cpmcjGSGmM3gSxered37z+GHW9DYg8uhTwi9EKlRUSvQjpeWmPg7TRpOt7idKNv4fWPgbmJkZbmMlhuNUklqfFElcxKisRUozaWK/PLKb3Kt88//Qp+jnCXDBCv/jyvegFlYybRksrQ6oCikgpQr0pBWh4t3z5/8DlwHmUpswzWaJ1cov6AXqxwTQz0BnSFqnyDKJ2AeF+ijcApk4O1impInXnz6y/MeDImbDoNi5P7s7sX1ZbGFjMh/pwIWggjKdhcSH9JNpc/vy95smFszSMvBC9x513TI9bGeKHUKWopgw8grFZ1a73VXSq/zHnmc49LcldcJn0Bm8jTyXp45co9dREodlA0pbDC8eD+6pOvofrXz9/Z5mnSStlQGxPitFFegXcvWhdCxGe8uVzvKY7eR3pn9fCz5je2zQsb4CkzUfZJuxdr6+z7Yx/ocHVggM1A5FXy4ZbfvNMbYZTCmCXJ9viD/3/ujul31oTfnoyL4z9extlrD4EFkFq06+T+9Zd2WF6/8fLTt6XV9eb5Om49ePwl/L2Ikz6gxO58iOjTjS4vvy3Kxn4wL277tHm2adrS6b2LL3BK2tu18dvgdF/THO58ZMz9Eweo98KfHT1avXEx3vsAegaOqjEqaTgJFJg+MzpBCufDqPxuVvoGT14jngAr4KSXum8pRWKGpYjRmznQrefOv4PuwAuL6tgO/pvt2R098MHovbPgkHOxAxNJ2+P2y67H/7V/APKiOQShoYJ7AAAAAElFTkSuQmCC",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=20x20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDLor1CHTdGtoxFDo9m6Do1xH5rt7kk/oOKk+yaZ/0BNL/8BhUy4pwSbVn9xyrIsQ1e6PMoNJ1PUEMtlp9zcxqdpeKIsAeuMj6j86K9XS6liRY4D5ESjCxwARoo9gOKK4ZcWQ5nywdjrjkcrK8iDtRRRXw72PoxCaKKKkZ//9k=",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAC/klEQVR4AUVUu45cRRCtqu6+d2e0a7wSskgcIoEc2RKBAzL+g4zEiQNSkJz6A5yQIzl3hgQpEnLixI4sS7zt1Xqf8+iuB6cuSNTM3LnTt6vqnDqnh+9988xrVdXGRGHmHhEH82x9H7Gvrak3CqlCve9aqREcTFMRP7+oykM0KhHWhJiEcOujM0JmdUYmlpBT60RBjIXCvfeJGyoibUnBk4iSt47dJBxIAxx21Mns5Rqc0ARdmGq1pTA6ZBR8mIHNAqWQFljIZHwjBzUo8FOnxuPqqmIZa1KyP9pJkGGBs0pCzMysngFi+WInUTcOBVky23MRQESOJuRld4KUBISi2J8BAIHMaC2sx/CKMTFmiI7/9U6ASWiZKv0LgQojC9elsYDA5vLjjw4w7cJ1cgfJfKNf4soAawFqAMEFY8rWKOBGVxeH+veTx1/XQlZ2mxi7oRvyLjlbVEaAK0iBAhglKpQW0hb7zz65/e2Dh8f8srark6Nx/sX9u/fu3jk+Xk3NPPZhME7FUFS9yIx77RuY5MbR+vaHqzWdUv/53fPv6+ef3nz01ZcrOifa2vYv9muZgTJgKOIpZbBC7nQUoEz7a397cvrbi7h+vY5fecRlvfjp/asfz97/vlpx5cQPgwjUVioFrq1mhnyMNefmY56kb89uHja2sx/+fP7dB/zHeob+uzEua4MTi3UtZUI+OHMpaRHXNMvUYDAzFJL65pent9bbajp0VOGD+ZBcY6RxKCrDNWkqSCAMCh59Z9TKcM3Hx+VdsdOpOmQyRaOyuFhKazZ65oo4QvEtwNKgB+oVKOB1RSfim1DAkkqTlCnlAaw+Suo/8JYK7sXUh3VISWpTwwlKRTR9mfZZztDQPIMCkDgeAx3wDI0hcgqOAB/QtoHluiX0An4NGmkGwdGHVAZDqTv2Qm0QhkxkvlTCBAZUMc8xpBX/D2xKe2JEyhKlwM8FUkE8Fsykp8FziFgzoN4I2CMHfwQ4J0ABQNLxO5tBAqCBNHbN0FDm4QZ9cW6A5R+6htJLMQ8h/gAAAABJRU5ErkJggg==",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=20x20>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 四角和中心裁剪\n",
    "five_crop_oper = transforms.FiveCrop((20,20))\n",
    "imgs = five_crop_oper(img)\n",
    "for i in imgs:\n",
    "    display(i)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "翻转"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD36q2o38Gl6fPfXLbYYULMQMn6D3ovr+10y0e6vJ0hgTq7H9Pc+1cZ4l8WeHNb8P3Wnw6qI5JtuGe2mwMMG7L7VpTpuTWmhlUqKCeupn61418T29rb30emw2VhdYMDv+8duMjODgZHOMfyrJtviVr8LgzfZbhe6tGVP4EHiqFy8V5ZW1nc+K4pLe2GIYzaz4Xt/c549elYEiqkrqkgkUMQrgEBh64PPPvXqU6FNqzj/XzPKqV6id0/xPePDniC38R6X9rgQxOjbJYmOSjcHr3HPB//AFVsV5x8MrmG00rUHnfapuFAOM87a9AtruC6BMMgfHX1FeRXlThWdJPXt1PWoc86Sm0WKKKKRoeV/FO/kfU7HT8kRxxeeRnhmYlQfwCn/vo1wFdx8Urd08Q2twR+7ltQin1Ks2f/AEIVh+FdMt9U1dhdqWt7eFp3QHHmYIAXPYEsPwFevSqQo4b2ktkrnjVoSq4jkW7ZhFlHBYZ+tJvX+8Pzr2CO8lhQRwLDDGPuxxwoqr9Bin/2hdAg+aAexCL/AIV8++LcPf4H+B6iyCr/ADI5/wALWU9j4cLXKNG11cebGjDB2BcBsdsknH0zXRaVMYNShI6Mdh98/wD16qu7yOXdizHqWOSan09DJqNuo67wfy5/pXytfHSxePVdK12rHuUsMqGG9nvZHZ0UUV9meQY3iHw7aeI7AW10WR0bdFKn3kP9Qe4/rgjnNO8Ef8I0t3ef2h9o8yHytnk7MZdTnO4+ld3UF7b/AGqzlhBwWHB96jESqSw86UXumKFOHtY1GtUcXU6x2xQFrl1OOR5WcfrRNZXNu5WSFxjuBkfnU2nNNBdCRLR5jgjG3p75r4SlRaqclSP3p/oe/OaceaL/ACJrPSo74OYrs4U4OYsf1rW0/SY7FzIXMkhGAcYAH0p2lWb2sUjygK8r7ii9FHpWhX1GBy+jCMakoWl8zy6+InJuKegtFFFescoUUUUAGKMCiisnuMKKKK1EFFFFAH//2Q==",
      "image/png": "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",
      "text/plain": [
       "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=50x50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+q95dw2FnPd3D7IYULu3XAAyakmlSGMvIwVB1JPSuc8Vaha3XhPVI4ZdzC3JxgjjI9frUqpT9oqcnZsUlLkcktjjNR+J+qTTMNPtoLaHPymQF3I9+cD6c/Wl0Xxt4s1G/W1tYba9kILFGj24UdTkEAfj7VwtbelGLT5Yr218SQ2d1s5H2aViuRyp+Qg/qO/pXtzoU4xskeLGvUlK7Z6/4f15Ndtpt0DW13bSGK4t2OTGw9D3Hv7VsV5h4P1zRdAl1Ca+1xbiW7ZXLLbTZyNxJOV77q73Sdf0vXFc6ddrMY/vLgqw98MAce9eZWpOMm0tD1KNVTik3qaVFGKKxsbnP+IpyZIYB0A3kep6D+tYU9s97p99ZxEedcWzxxgkAFuCBk+uMfjW14iQi7ifsyY/I/8A16x6+OxeInRzD2vWLR69GlGphuTueUyq0ErRTK0UiHDI42sp9CD0pu9f7w/OvYRqF0AAZi2BjLKGP5kUf2hddPMXH/XNf8K+mjxbQtrTf4HiPIKnSaPH62/CF/Jp/ivTpEJxJKIHA/iVztwfxIP1ArX8Y6Xaiyi1W3hjglMwhnSNdqvlSQ+BwD8pB9eDWD4bt3uvE+lxRjLfao3x7Kdx/RTX0NHFU8XhvbQ2aPJqUJ4ev7N7o99opc/SivJPauVb6yjvofLckEHKsOoNY1xoQt4Hme7+VRk4i5/nXR96hu4PtVrLDnG5cA+hrgxeBo1k5uN5W0N6NecGknocl5Vr/wA/T/8Afn/69QNgMdpyM8HGM1o3q3C2sNq9kUMR/wBYoyG/TvVFLeaQgJDIx9lNfI16LjLkjH8H+p61Kd1zSf5CS+Hv+Ek0qSy+0/Z9k6S7/L35wrDGMj1q94Z8D2fh25a7adrq6KlVdkChAeuBzyfXP5c52NHsJLOBzLgPIQcegrSr7LLHVpYONKWnkeLioU513UW4UUZorrIFooooAKMD0oorJ7jCiiitRBRRRQB//9k=",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=50x50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 以 p 概率进行水平翻转\n",
    "h_flip_oper = transforms.RandomHorizontalFlip(p=1)\n",
    "display(img)\n",
    "display(h_flip_oper(img))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD36q2o38Gl6fPfXLbYYULMQMn6D3ovr+10y0e6vJ0hgTq7H9Pc+1cZ4l8WeHNb8P3Wnw6qI5JtuGe2mwMMG7L7VpTpuTWmhlUqKCeupn61418T29rb30emw2VhdYMDv+8duMjODgZHOMfyrJtviVr8LgzfZbhe6tGVP4EHiqFy8V5ZW1nc+K4pLe2GIYzaz4Xt/c549elYEiqkrqkgkUMQrgEBh64PPPvXqU6FNqzj/XzPKqV6id0/xPePDniC38R6X9rgQxOjbJYmOSjcHr3HPB//AFVsV5x8MrmG00rUHnfapuFAOM87a9AtruC6BMMgfHX1FeRXlThWdJPXt1PWoc86Sm0WKKKKRoeV/FO/kfU7HT8kRxxeeRnhmYlQfwCn/vo1wFdx8Urd08Q2twR+7ltQin1Ks2f/AEIVh+FdMt9U1dhdqWt7eFp3QHHmYIAXPYEsPwFevSqQo4b2ktkrnjVoSq4jkW7ZhFlHBYZ+tJvX+8Pzr2CO8lhQRwLDDGPuxxwoqr9Bin/2hdAg+aAexCL/AIV8++LcPf4H+B6iyCr/ADI5/wALWU9j4cLXKNG11cebGjDB2BcBsdsknH0zXRaVMYNShI6Mdh98/wD16qu7yOXdizHqWOSan09DJqNuo67wfy5/pXytfHSxePVdK12rHuUsMqGG9nvZHZ0UUV9meQY3iHw7aeI7AW10WR0bdFKn3kP9Qe4/rgjnNO8Ef8I0t3ef2h9o8yHytnk7MZdTnO4+ld3UF7b/AGqzlhBwWHB96jESqSw86UXumKFOHtY1GtUcXU6x2xQFrl1OOR5WcfrRNZXNu5WSFxjuBkfnU2nNNBdCRLR5jgjG3p75r4SlRaqclSP3p/oe/OaceaL/ACJrPSo74OYrs4U4OYsf1rW0/SY7FzIXMkhGAcYAH0p2lWb2sUjygK8r7ii9FHpWhX1GBy+jCMakoWl8zy6+InJuKegtFFFescoUUUUAGKMCiisnuMKKKK1EFFFFAH//2Q==",
      "image/png": "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",
      "text/plain": [
       "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=50x50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD36o550t4Xlc4VBk0y8vbbT7V7m7nSGFPvO5wBWFJ4m0fWrS5t9PuxNKqeYV8tlwoYDOSB3IrOu5QoyqRWyY4OLmoN7iTeILl3PlKka9s8mnWmralPNsjVJTjJBGOPrWPVq3KwMJI75YpMc/Ixx7dMV8bSx2InU5pTdvVL89D2Z0KcY2UTqLK9W8iLBSjq210P8JqzXP6XeWlkJfNut7SNnIRv8K2La8gu1JgkD468YI/CvqMHi41aaUpLm9UeXWpOMnZaFmiiiu4xPLPinqEj6jZacCRHHF55GeCzEqD+AVv++jWL4HmRNant2cK9zbNFFk/efcrBfqQp/GtL4owOniK1uCPkktQin1Ks2f8A0Ja4cEgggkEcg16saEa2FdJ7NNHj1KsqeJ5+zPV2+VircEcEHg0mR6iuFi8Y+IoY1RdWmKgYG9Vc/mwJNO/4TXxH1/tV/wAYo/8A4mvk3wjUvpUX3HuLP4dYM7mrmlTGHUoSDwx2H3z/APXxWPo2qnWtHF3LGkdzFL5M3ljCvxlWA7ZGQR6jNaunRmTUbdR/fDflzXz8sLVweNVKW6aPWjWhiMP7RbNHZ0UUV9ueKYviTw5a+JLAW87NHJGd0UyjJQ/1B7iuB1X4cxaPps1/da2fJixu2WWTyQBx5nqa9XrM8QaV/bWhXenhxG0yfKx6BgQRn2yBW9KvOFop2Rz1qEJ3lbU8V+yaGf8AmN3OR/1Dv/tlZkgRZXWNy8YYhWK7Sw7EjnH0zXWeJF1X+yNO0m48PNbGwG03MSmRZOMcEDAB6kZznFc7baTqV44S20+6lY/3YWx+eMCvVpzuuZv8jyakGnZL8zufh1Y/b9Gv4/M2bblWzjP8B/xrvNP0qOxcybzJIRjcRjA+lZHgbw9ceH9HkW8IFzcSeYyKciMYAC57n1+vtmuorwcTh6FTEuva77nt4adSNBU3sLRRRVFiDpSd6KKSAKXFFFUT1EFLRRSKFooooA//2Q==",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=50x50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 以 p 概率进行垂直翻转\n",
    "v_flip_oper = transforms.RandomVerticalFlip(p=1)\n",
    "display(img)\n",
    "display(v_flip_oper(img))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.Tensor 操作"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "标准化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD36q2o38Gl6fPfXLbYYULMQMn6D3ovr+10y0e6vJ0hgTq7H9Pc+1cZ4l8WeHNb8P3Wnw6qI5JtuGe2mwMMG7L7VpTpuTWmhlUqKCeupn61418T29rb30emw2VhdYMDv+8duMjODgZHOMfyrJtviVr8LgzfZbhe6tGVP4EHiqFy8V5ZW1nc+K4pLe2GIYzaz4Xt/c549elYEiqkrqkgkUMQrgEBh64PPPvXqU6FNqzj/XzPKqV6id0/xPePDniC38R6X9rgQxOjbJYmOSjcHr3HPB//AFVsV5x8MrmG00rUHnfapuFAOM87a9AtruC6BMMgfHX1FeRXlThWdJPXt1PWoc86Sm0WKKKKRoeV/FO/kfU7HT8kRxxeeRnhmYlQfwCn/vo1wFdx8Urd08Q2twR+7ltQin1Ks2f/AEIVh+FdMt9U1dhdqWt7eFp3QHHmYIAXPYEsPwFevSqQo4b2ktkrnjVoSq4jkW7ZhFlHBYZ+tJvX+8Pzr2CO8lhQRwLDDGPuxxwoqr9Bin/2hdAg+aAexCL/AIV8++LcPf4H+B6iyCr/ADI5/wALWU9j4cLXKNG11cebGjDB2BcBsdsknH0zXRaVMYNShI6Mdh98/wD16qu7yOXdizHqWOSan09DJqNuo67wfy5/pXytfHSxePVdK12rHuUsMqGG9nvZHZ0UUV9meQY3iHw7aeI7AW10WR0bdFKn3kP9Qe4/rgjnNO8Ef8I0t3ef2h9o8yHytnk7MZdTnO4+ld3UF7b/AGqzlhBwWHB96jESqSw86UXumKFOHtY1GtUcXU6x2xQFrl1OOR5WcfrRNZXNu5WSFxjuBkfnU2nNNBdCRLR5jgjG3p75r4SlRaqclSP3p/oe/OaceaL/ACJrPSo74OYrs4U4OYsf1rW0/SY7FzIXMkhGAcYAH0p2lWb2sUjygK8r7ii9FHpWhX1GBy+jCMakoWl8zy6+InJuKegtFFFescoUUUUAGKMCiisnuMKKKK1EFFFFAH//2Q==",
      "image/png": "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",
      "text/plain": [
       "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=50x50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/jpeg": "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",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=50x50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "norm_oper = transforms.Normalize(mean=(0.5, 0.5, 0.5),      # 表示各通道的均值\n",
    "                                 std=(0.5, 0.5, 0.5),       # 表示个通道的标准差\n",
    "                                 inplace=False)             # 是否原地操作\n",
    "\n",
    "tensor1 = transforms.ToTensor()(img)\n",
    "# 标准化\n",
    "tensor_norm = norm_oper(tensor1)\n",
    "# 转为图像\n",
    "img_norm = transforms.ToPILImage()(tensor_norm)\n",
    "display(img)\n",
    "display(img_norm)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "变换的组合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD36q2o38Gl6fPfXLbYYULMQMn6D3ovr+10y0e6vJ0hgTq7H9Pc+1cZ4l8WeHNb8P3Wnw6qI5JtuGe2mwMMG7L7VpTpuTWmhlUqKCeupn61418T29rb30emw2VhdYMDv+8duMjODgZHOMfyrJtviVr8LgzfZbhe6tGVP4EHiqFy8V5ZW1nc+K4pLe2GIYzaz4Xt/c549elYEiqkrqkgkUMQrgEBh64PPPvXqU6FNqzj/XzPKqV6id0/xPePDniC38R6X9rgQxOjbJYmOSjcHr3HPB//AFVsV5x8MrmG00rUHnfapuFAOM87a9AtruC6BMMgfHX1FeRXlThWdJPXt1PWoc86Sm0WKKKKRoeV/FO/kfU7HT8kRxxeeRnhmYlQfwCn/vo1wFdx8Urd08Q2twR+7ltQin1Ks2f/AEIVh+FdMt9U1dhdqWt7eFp3QHHmYIAXPYEsPwFevSqQo4b2ktkrnjVoSq4jkW7ZhFlHBYZ+tJvX+8Pzr2CO8lhQRwLDDGPuxxwoqr9Bin/2hdAg+aAexCL/AIV8++LcPf4H+B6iyCr/ADI5/wALWU9j4cLXKNG11cebGjDB2BcBsdsknH0zXRaVMYNShI6Mdh98/wD16qu7yOXdizHqWOSan09DJqNuo67wfy5/pXytfHSxePVdK12rHuUsMqGG9nvZHZ0UUV9meQY3iHw7aeI7AW10WR0bdFKn3kP9Qe4/rgjnNO8Ef8I0t3ef2h9o8yHytnk7MZdTnO4+ld3UF7b/AGqzlhBwWHB96jESqSw86UXumKFOHtY1GtUcXU6x2xQFrl1OOR5WcfrRNZXNu5WSFxjuBkfnU2nNNBdCRLR5jgjG3p75r4SlRaqclSP3p/oe/OaceaL/ACJrPSo74OYrs4U4OYsf1rW0/SY7FzIXMkhGAcYAH0p2lWb2sUjygK8r7ii9FHpWhX1GBy+jCMakoWl8zy6+InJuKegtFFFescoUUUUAGKMCiisnuMKKKK1EFFFFAH//2Q==",
      "image/png": "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",
      "text/plain": [
       "<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=50x50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABQAFADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDv/h5bRNppbHIrtbqJJbZkcfKRzXjvhfxE2lbY3fEffmut1PxxZvZutvL8+OOa7qtGbmebTqw5DjfGttDaaoEhGATXPKMCrN/ey6jcebOctniq5r0YJqNjhqSTegYzzSZoJxSjGPerTMmxoHNOPFIAR1oHI5607hcR/uHNeg/D28aG3EQPBNefN05rtfA/3kx61zYiKcTqw0mpHJnTbnoVpv8AZNyGyF4r0g6v4YJ+9/Kl/tfwzj738qyVaXVGjpQ7nnR0y5PIWk/s2667a9F/tfwzj738qT+2PDOMbv5VXt5diHRh3PNZImhbbJ1pmOeK2PE81lcX6tYHMdZAziuinJyVzCcEtgIOeaMUmSaOe9aNGYjcg12/gbA2/WuIbIFdt4GGSn1rmrv3WdWGXvHDmFM9KXylxTqM102OZXIxGKUxL2p9FKwaiKoUYp2aSgUJWC4HIPFBJNHFFAAx+U5rtPA5IKfWuKYcZrtPBBG5PrXLireyZ1YX4jjODRRjFFddzluHFFFLTC4lHFLRSsK4lFHFGQKTQDXyENd14DtnkiEoHyg1xUETXdykEYyW6V654T0mTSdHcTrtbGa87HVYwps78FTcpI8nt7K4vP8AVDNXl8K6q/Ij/SvVodF0jTQAFwRVoXdivCHiuWpm9OPU6Y5a30PIv+ES1Yf8s/0pP+ES1f8A55/pXsH26z7mj7dZ9jXP/bdPuX/Zj7Hj/wDwierf88/0pf8AhEtXx/q/0r177bZnvQb60HeqWd0+4/7LfY8f/wCEU1bOPL/SrEHgvV5HBMXy/SvV/tll1zzQ2qRIpEbVE88hbRlRyt32Of8AD3hG3sYxPdx4lTkcVsahqG4+XEfl6VWn1KWTK7uDVM9cmvm8xzWVXRHr4XAqGp//2Q==",
      "image/png": "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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=80x80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 定义组合操作\n",
    "\n",
    "composed = transforms.Compose(\n",
    "    [transforms.Resize((200, 200)),     # 修改图片像素\n",
    "     transforms.RandomCrop(80)])        # 随机裁剪\n",
    "\n",
    "composed_img = composed(img)\n",
    "display(img)\n",
    "display(composed_img)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.结合 datasets 使用\n",
    "\n",
    "将 PIL.Image.Image 类型转换为 tensor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'torch.Tensor'>\n",
      "(tensor([[[-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -0.3412,\n",
      "           0.4510,  0.2471,  0.1843, -0.5294, -0.7176, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,  0.7412,\n",
      "           0.9922,  0.9922,  0.9922,  0.9922,  0.8902,  0.5529,  0.5529,\n",
      "           0.5529,  0.5529,  0.5529,  0.5529,  0.5529,  0.5529,  0.3333,\n",
      "          -0.5922, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -0.4745,\n",
      "          -0.1059, -0.4353, -0.1059,  0.2784,  0.7804,  0.9922,  0.7647,\n",
      "           0.9922,  0.9922,  0.9922,  0.9608,  0.7961,  0.9922,  0.9922,\n",
      "           0.0980, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -0.8667, -0.4824, -0.8902,\n",
      "          -0.4745, -0.4745, -0.4745, -0.5373, -0.8353,  0.8510,  0.9922,\n",
      "          -0.1686, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -0.3490,  0.9843,  0.6392,\n",
      "          -0.8588, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -0.8275,  0.8275,  1.0000, -0.3490,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000,  0.0118,  0.9922,  0.8667, -0.6549,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -0.5373,  0.9529,  0.9922, -0.5137, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000,  0.0431,  0.9922,  0.4667, -0.9608, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -0.9294,  0.6078,  0.9451, -0.5451, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -0.0118,  0.9922,  0.4275, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -0.4118,  0.9686,  0.8824, -0.5529, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -0.8510,\n",
      "           0.7333,  0.9922,  0.3020, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -0.9765,  0.5922,\n",
      "           0.9922,  0.7176, -0.7255, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -0.7020,  0.9922,\n",
      "           0.9922, -0.3961, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -0.7569,  0.7569,  0.9922,\n",
      "          -0.0980, -0.9922, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000,  0.0431,  0.9922,  0.9922,\n",
      "          -0.5922, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -0.5216,  0.8980,  0.9922,  0.9922,\n",
      "          -0.5922, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -0.0510,  0.9922,  0.9922,  0.7176,\n",
      "          -0.6863, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -0.0510,  0.9922,  0.6235, -0.8588,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000],\n",
      "         [-1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000,\n",
      "          -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000, -1.0000]]]), 7)\n"
     ]
    }
   ],
   "source": [
    "my_transrform = transforms.Compose([transforms.ToTensor(),\n",
    "                                    transforms.Normalize((0.5), (0.5))])\n",
    "\n",
    "# 读取 MNIST 数据集，同时做数据变换\n",
    "mnist_dataset = torchvision.datasets.MNIST(root='./data/',              # 数据集位置\n",
    "                                           train=False,                 # True-只加载训练数据；False-只加载测试数据集\n",
    "                                           transform=my_transrform,     # 对图像进行预处理操作\n",
    "                                           target_transform=None,       # 对图像标签进行预处理操作\n",
    "                                           download=False)              # 是否下载\n",
    "item = mnist_dataset.__getitem__(0)\n",
    "print(type(item[0]))\n",
    "mnist_dataset_list = list(mnist_dataset)\n",
    "print(mnist_dataset_list[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## torchvision.models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用随机初始化的权重，创建一个 GoogLeNet 模型，需要经过训练后才能用于预测\n",
    "import torchvision.models as models\n",
    "\n",
    "googlenet = models.googlenet()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Linear(in_features=1024, out_features=1000, bias=True)\n",
      "fc_in_features: 1024\n",
      "fc_out_features: 1000\n",
      "Linear(in_features=1024, out_features=10, bias=True)\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "import torchvision.models as models\n",
    "\n",
    "# 直接导入训练好的模型来使用\n",
    "googlenet = models.googlenet(pretrained=True)\n",
    "print(googlenet.fc)\n",
    "# 提取分类层的输入参数\n",
    "fc_in_features = googlenet.fc.in_features\n",
    "print('fc_in_features:', fc_in_features)\n",
    "\n",
    "# 查看分类层的输出参数\n",
    "fc_out_features = googlenet.fc.out_features\n",
    "print('fc_out_features:', fc_out_features)\n",
    "\n",
    "# 修改与训练模型的输出分类数\n",
    "googlenet.fc = torch.nn.Linear(fc_in_features, 10)\n",
    "print(googlenet.fc)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## torchvision.utils"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "make_grid"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([32, 1, 28, 28])\n"
     ]
    },
    {
     "data": {
      "image/jpeg": "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",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPIAAAB6CAIAAAAK6ZlGAAAnJUlEQVR4Ae3dd8AtNbEA8Ati79gQK/aCPntFEDsqNhTsYsOK2BWx9y4+sBdExIpiRUWw+2zYFbti772hD6/+uHNv2G/byWb3fHA/Nn+cs5tNJpPZyWQymcyuWzenmQIzBWYKzBSYKTBTYKbATIGZAjMFZgrMFJgp0EqBLVpzVy3zkY985BnPeMYrXvGKt7/97TX6spe97NOf/vQhhxyyagjMDc0UmJgCb3nLW/7dSN/5zncufOELT9zSBnCXutSl1q9fv/fee08C/MxnPvNLX/pS6H/uc5+7yEUuMgnMGchmT4EqT3/jG9944Qtf+M53vjOY/HGPe9wyurfHHnuccMIJt7vd7SYBfslLXvL/NyQ4P+hBD5oE5lWucpXjjjuuFdRNbnKTC13oQq2PyjJ33XVXgxzmpznNacogqHXe8573ox/96DOf+cyLXvSiXUDOfvaza+u0pz1tV4G1k3+1q13tX//6F4b46le/iiJnOctZ9O10pzvdF7/4RZnPf/7zl9HVZz3rWX/6058mgXye85znU5/61ORsve+++/7iF79oxfDAAw9885vf3PqoIPNc5zrXT37yE2wtUQILIKhyznOe8ze/+Y33SEJ1QcDT3/ve95CdFOgq05N/trOd7SUvecnHPvaxyUYFZfeDH/zgQQcdRN/dYYcdLnGJS/Q0P/SR4Ysn8PT5z3/+VJeQPv7447H1zjvvnDKnurjCFa7w17/+ldowHuBDHvKQD3/4w8HTfiHsvdJtdtxxxzHAt9pqq0984hNdbL3nnnsiF81nTBOp7m1ve9vg6UMPPXSLLUrWV+c+97mPPvpofT/ggAMS2ObF8573PGXuc5/7NB8tzLnLXe5i7lJdMg4Xls8q8IMf/CB6Hr8G3P91pLe+9a2kbxbQSiH66NZbb13JWPeVr3wl+rAMtjZKdWSnnXaqtlh2DcnE08HWcUssXfWqVy2DqdaNb3xjOpIJvRXCwx/+cE/NEq1PB2We/vSn//znPx+vdZdddhlUNxWmFMXL6kHp8pe/vFbe/va3n/WsZ00VMy8ueMELmgpUj1be+MY31rglE0692A1veEOkvNnNbuaXaSLmrB/96EdBDr9mn5/97GdxO15teNSjHvWPf/xDH4ydM53pTHVsRt9b2P3whz8cL+2OOOKI//znP0Hr+P31r39NBKScMkxNJr/97W+//e1vhz7WBEKFnYqtr371q8db8wabDeXkUKlf8YpX6LI5pKs8njbzaOiud71rV5me/P333x981RNhf//73z/iEY+gqfbUGvyIInWDG9yAroPdI133utc1Ur0MbT/wgQ8cDLFS4Za3vGXwNEJMIlArsE+8pL5D8lvf+lYtf+gt3L7//e8jdJLWpmAKFfXjyU9+cmQ+4AEPGApWeXozCmC41roEVYylHtHYWrE104SAGtJ73/ve1gILM4k5+BxzzDE9YuL+97+/Jl772tcuhNYsYCanHaDzl7/8ZZpw4mzssc022zTLT5yz2267aZLyMHKCwBOBujE6MYobwN3jHvdAYprrGODGBrImrYPK8ZznPCdNLN7Ez3/+c0//8pe/POxhDxu0xKEg/fnPf/7a177Whd4LXvAC9KHLDgLbBe2Tn/wkaljGXOlKV+oq05//+te/Hj7vfve7W/GxBn3a0572u9/9Tpl+OF1Pb33rW8PQSlGBM5zhDPe6172++93vyjGWPvvZz45ktq5GN+abiX71q19pCXMvKNr7mF3v73//OxJYnnZNwb0AFj+kIyEKsbq4aHeJqkXvqKOOsmaqlbVqTEx/8YtfvPa059aKk4LRNeMZTr/85S8pDGbLHiCZj65znesghYTtMqs0iwVbe2Uf+chHDj/8cHp2Ss94xjPYiDySeiwkTZjVnN13313129zmNimT7icH2lpcEpNsbOspT3mKZmg822+/fWp+6AVLCN0UxkbIIFbIb+ja1762V/iFL3zBuM+v1SyZ2JrAaN0wIrA/85nP6Avmzu8LE5gVC7Zuthg5dAZPe2R5V8XW/H322edEpl6//ulPf3prgZxMK+Of/vSneioBFRfxm27J13wi1Bo1VEB71atelfKDSQBnpU2Z019QrP/5z39qhlo5BroFYpDDPDsGTk/dxz/+8aYUlqyeMjmPsHWg2lWYWLUw1ZZib3jDG7qK1fJNeri2p3zI8je96U21imW31GJvjTBiaiiDELWstRisqGGgmUxcRCLjgkoHH3xwMfyQ1hTry1zmMne4wx2YQUgKsklb1nKXu9zliiEvqGiu0caHPvShVu1qQeVNj291q1uFoZrWuLyZ5W1vextUWWo3NVv4T5NBXKmrfpkSQhO19upan2D64JJJNjLt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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=242x122>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torchvision\n",
    "from torchvision import datasets\n",
    "from torchvision import transforms\n",
    "from torch.utils.data import DataLoader\n",
    "\n",
    "# 加载 MNIST 数据集\n",
    "mnist_dataset = torchvision.datasets.MNIST(root='./data/',          # 数据集位置\n",
    "                                           train=False,              # True-只加载训练数据；False-只加载测试数据集\n",
    "                                           transform=transforms.ToTensor(),          # 对图像进行预处理操作\n",
    "                                           target_transform=None,   # 对图像标签进行预处理操作\n",
    "                                           download=True)           # 是否下载\n",
    "\n",
    "tensor_dataloader = DataLoader(dataset=mnist_dataset, batch_size=32)\n",
    "\n",
    "data_iter = iter(tensor_dataloader)\n",
    "img_tensor, label_tensor = next(data_iter)\n",
    "print(img_tensor.shape)\n",
    "\n",
    "# 将 32 张图片拼接在一个网格中\n",
    "grid_tensor = torchvision.utils.make_grid(img_tensor,   # 类型是 Tensor 或列表，如果是 Tensor,形状应是(B*C*H*W)\n",
    "                                          nrow=8,       # 一行放入的图片数量\n",
    "                                          padding=2)    # 子图像之间的边框宽度，默认 2 像素\n",
    "grid_img = transforms.ToPILImage()(grid_tensor)\n",
    "display(grid_img)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "save_img"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 输入为 1 张图片\n",
    "torchvision.utils.save_image(grid_tensor, './data/img/grid.jpg')\n",
    "# 输入多张图片，默认进行拼接\n",
    "torchvision.utils.save_image(img_tensor, './data/img/grid2.jpg', nrow=5, padding=2)\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.8.10 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "c2561295c99b9e0691d04acbb6873b4734b14bb29878b65a5e35075f8e76500e"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
